Exemple CNC 09 : Utilisation de la correction de longueur d'outil
Voir l'exemple de projet pour cela CNC09_ToolLengthCorr.project
dans le répertoire d'installation de CODESYS parmi ..\CODESYS SoftMotion\Examples
.
Cet exemple montre comment utiliser le SMC_ToolLengthCorr POU pour compenser la longueur d'un outil.
Pour plus d'informations sur le sujet de la correction de longueur d'outil, voir : Prétraitement
Application
Pour l'exemple, une cinématique Gantry3 est utilisée avec un axe d'orientation ajouté (AxisA
) qui peut tourner autour de l'axe Z. Un outil d'une longueur de 2 unités dans la direction Z est à son tour attaché à l'axe d'orientation.
Un programme CNC simple doit être exécuté. Ceci est stocké dans le projet en tant que fichier externe CNC.cnc
fichier et peut être ouvert avec un éditeur de texte. Dans le programme CNC, la correction de longueur d'outil est d'abord activée au moyen du code G G43
. La I
, J
, et K
correspondent au décalage dans les directions X, Y et Z pour cela. Ensuite, trois points sont parcourus dans le plan XY. Pendant le déplacement vers le dernier point, l'axe supplémentaire A est également tourné de 90 degrés.
N000 G43 I0 J0 K2 (Activate tool length correction with tool offset X=0 Y=0 Z=2) N010 G01 X10 F10 E100 E-100 N020 G03 Y10 R5N030 G01 X0 A90
L'application se compose de plusieurs parties. Dans le CNC_PreparePath
programme, le programme CNC CNC.cnc
est importé sous forme de fichier depuis le contrôleur et prétraité. Dans le CNC
programme, les entraînements sont d'abord mis sous tension, comme dans les autres exemples. Ensuite, l'interpolation du programme CNC lu précédemment est effectuée. Dans chaque cycle, l'interpolateur délivre une position définie (piSetPosition
) et le décalage actuel de l'outil (adToolLength
). La SMC_ToolLengthCorr
Le POU a besoin de ces informations pour compenser la longueur d'outil spécifiée. La position compensée est ensuite transformée et finalement transmise aux axes au moyen de la SMC_ControlAxisByPos
POU.
Astuce
Le programme est presque identique aux autres exemples. Seulement le SMC_ToolLengthCorr
Le POU a été inséré après l'interpolateur et avant la transformation afin de traiter la sortie de position définie par l'interpolateur.

Mise en service
Compilez et démarrez le programme créé. Le programme exécute le mouvement CNC dès que le CNC_PreparePath.xStart
l'entrée a été définie. Vous pouvez cliquer sur le Commencer pour définir cette variable dans l'application ou dans la visualisation. Après l'exécution complète du programme, vous pouvez appliquer un nouveau front montant pour le redémarrer.
Pendant l'exécution du programme CNC, notez les sorties de l'interpolateur (piSetPosition
, adToolLength
) et la position compensée (piOut
) de la SMC_ToolLengthCorr
PU.
Remarque : La rotation de AxisA
pendant le dernier mouvement du programme CNC n'a aucun effet (supplémentaire) sur la position cartésienne compensée dans cet exemple car l'outil n'a qu'un décalage dans la direction Z. Si vous ajoutez un composant au décalage de l'outil (dans le fichier CNC, sur le contrôleur dans le dossier de l'application) dans les directions X et Y, alors la rotation de AxisA
lors du dernier mouvement aura un effet supplémentaire sur la position compensée.